#include "Carre.h"
#include "Rectangle.h"
#include "Classe_graphe.h"
#include "Classe_point.h"

Carre::Carre(void) : Rectangle() {
  this->Lx = 1.0;
  this->Ly = 1.0;
  
  Point Vec[4];
  // origine en 0
  Vec[0].setX(0.0);
  Vec[0].setY(0.0);
  // largeur = 1 et longueur = 2
  Vec[1].setX(1.0);
  Vec[1].setY(0.0);
  
  Vec[2].setX(1.0);
  Vec[2].setY(1.0);
  
  Vec[3].setX(0.0);
  Vec[3].setY(1.0);

  Graphe::addPoints(Vec, 4);
}

Carre::Carre(const Point& origine, const double _cote) : Rectangle(origine, _cote, _cote) {}

Carre::~Carre(void) {
  // le compilateur se chargera d'appeler le destructeur de la classe Rectangle
  // donc rien a faire de special
}

double Carre::getLCote(void) const {
  return Rectangle::getLX();
}

void Carre::printPoints(void) const {
  Graphe::printPoints();
}

double Carre::getPerimetre(void) const {
  return Graphe::getPerimetre();
}

double Carre::getAire(void) const {
  return Graphe::getAire();
}
